大家好,今天是第四天。
來介紹 Tuple
這個輕量化的資料結構,它可以讓方法要回傳多個變數時,可以用更簡單的寫法實作,不必再另外寫類別或使用 out
參數傳遞。
來看看例子:
ref
或 out
方式,傳入多個變數。但是參數量會變得非常多,也一定要預先傳入變數。public void AMethod(ref int i, ref string str){
i = 123;
str = "text";
}
void run(){
int i = 0;
string str = "";
AMethod(ref i, ref str);
Console.WriteLine(i + ", " + str);
}
public class AClass{
public int i;
public string str;
}
public AClass AMethod(){
AClass a = new AClass();
a.i = 123;
a.str = "text";
return a;
}
void run(){
AClass ret = AMethod();
Console.WriteLine(ret.i + ", " + ret.str);
}
Tuple
可以取代以上兩種回傳方式,寫出更簡潔的程式碼。
public (int i, string str) AMethod(){
return (1, "text");
}
void run(){
var ret = AMethod();
Console.WriteLine(ret.i + ", " + ret.str);
}